package com.winhxd.b2c.order.service;

import com.winhxd.b2c.common.domain.order.condition.*;
import com.winhxd.b2c.common.domain.order.vo.*;

import java.util.List;

/**
 * @author: shijinxing
 * @date: 2019年1月8日14:30:53
 * @Description: 订单管理服务接口
 **/
public interface OrderManagementService {
    /**
     * @Author shijinxing
     * @Description 后台管理-订单列表
     * @Date 2019年1月9日09:58:46
     * @Param [condition]
     * @return OrderManagementListVO
     **/
    List<OrderManagementListVO> findOrderManagementList(OrderManagementListCondition condition);

    /**
    * @Description: 获取待发货信息
    * @Author: liuhanning
    * @Date:  2019-01-09 16:27
    */
    OrderDeliverGoodsInfoVO getDeliverGoodsInfo(OrderDeliverGoodsInfoCondition condition);
    /**
    * @Description: 保存发货信息
    * @Author: liuhanning
    * @Date:  2019-01-09 16:28
    */
    Integer saveDeliverGoods(OrderDeliverGoodsInfoCondition condition);
    /**
     * @Author shijinxing
     * @Description 后台管理-购物清单
     * @Date 2019年1月9日17:05:29
     * @Param [condition]
     * @return OrderShoppingListVO
     **/
    OrderShoppingListVO findShoppingList(OrderShoppingListCondition condition);
    /**
     * @Author shijinxing
     * @Description 后台管理-配货清单
     * @Date 2019年1月9日19:35:39
     * @Param [condition]
     * @return OrderDistributionListVO
     **/
    OrderDistributionListVO findDistributionList(OrderDistributionListCondition condition);
    /**
     * @Author shijinxing
     * @Description 后台管理-订单详情
     * @Date 2019年1月10日14:17:06
     * @Param [condition]
     * @return OrderManagementDetailsVO
     **/
    OrderManagementDetailsVO findOrderDetails(OrderDetailsCondition condition);
    /**
     * @Author shijinxing
     * @Description 后台管理-订单详情-关闭订单
     * @Date 2019年1月10日16:03:08
     * @Param [condition]
     * @return void
     **/
    void modifyOrderStatusToClose(OrderStatusToCloseCondition condition);
    /**
     * @Author shijinxing
     * @Description 后台管理-订单详情-收退款记录
     * @Date 2019年1月10日20:26:16
     * @Param [condition]
     * @return OrderCollectAndRefundRecordVO
     **/
    OrderCollectAndRefundRecordVO findCollectAndRefundRecord(OrderCollectAndRefundRecordCondition condition);
    /**
     * @Author shijinxing
     * @Description 后台管理-订单详情-收发货记录
     * @Date 2019年1月11日10:00:52
     * @Param [condition]
     * @return OrderReceivingAndDeliveryRecordVO
     **/
    OrderReceivingAndDeliveryRecordVO findReceivingAndDeliveryRecord(OrderReceivingAndDeliveryRecordCondition condition);
    /**
     * @Author shijinxing
     * @Description 后台管理-订单详情-订单日志
     * @Date 2019年1月11日10:00:52
     * @Param [condition]
     * @return OrderLogVO
     **/
    OrderLogVO findOrderLog(OrderLogCondition condition);
    /**
     * @Author shijinxing
     * @Description 后台管理-订单详情-返利记录
     * @Date 2019年1月12日10:00:52
     * @Param [condition]
     * @return List<OrderRebateInformationVO>
     **/
    List<OrderRebateInformationVO> findRebateInformation(OrderRebateInformationCondition condition);
}
